close all;
f = 100;
omega = 2*pi*f;
z_source = 25;
z_receiver = 50;
d = 100;
c = 1500;
r = 0:1:50e3;
figWidth = 1920/2;
figHeight = 1200;
rect = [0 50 figWidth figHeight];
figure('OuterPosition', rect, 'name', 'Transmission loss for isovelocity problem');
for i = 1:3;
num_modes = i;
m = 1:num_modes;
k_rm = sqrt((omega/c)^2 - ((m-0.5)*(pi/d)).^2);
k_zm = pi/d .* (m-0.5);
A_m = sin(k_zm.*z_source).*sin(k_zm.*z_receiver) ./ sqrt(k_rm);
mode_sinusoids = exp(1j.*k_rm'*r);
A_mode_sinusoids = bsxfun(@times, A_m', mode_sinusoids);
I = 8*pi ./ (r*d^2) .* (abs(sum(A_mode_sinusoids))).^2;
subplot(3,1,i);
plot(-10*log10(I));
set(gca,'YDir','Reverse')
ylim([50 90]);
xlim([0 50e3]);
xlabel('Range (km)');
ylabel('Loss (dB)');
title([num2str(num_modes) ' Mode(s)']);
end